//
//  HistroyInsurancePolicyViewController.m
//  CPICApp
//
//  Created by lizhiwei on 13-3-19.
//  Copyright (c) 2013年 lizhiwei. All rights reserved.
//

#import "HistroyInsurancePolicyViewController.h"
#import "RCAlertViewUtil.h"
#import "NSString+SBJson.h"
#import "Config.h"
#import "UIImageView+WebCache.h"
#import "InsurancePolicyDetailViewController.h"
#import "AppDelegate.h"
#import "WSqlite.h"

@interface HistroyInsurancePolicyViewController ()

@end

@implementation HistroyInsurancePolicyViewController
@synthesize HistroyInsurancePolicyList;
@synthesize progress;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self)
    {
        self.title = @"历史保单列表";
        //self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bg640X773@2x"]];
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
	NSUserDefaults *accountDefaults = [NSUserDefaults standardUserDefaults];
    NSString *bgimage= [accountDefaults objectForKey:@"UserDefaultBgKindKey"];
    
    if ([bgimage isEqualToString:@"蓝色主题风格"]) 
    {
        ADD_BACKGROUND_BUTTONITEM(@"icon640X88@2x.png");
        ADD_LEFT_BUTTONITEM(@"back.png");
        ADD_TITLE_NAMEITEM(@"历史保单列表");
        self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bg640X773@2x"]];
    }
    else if([bgimage isEqualToString:@"棕色主题风格"])
    {
        ADD_BACKGROUND_BUTTONITEM(@"icon640X88_01@2x.png");
        ADD_LEFT_BUTTONITEM(@"back_01.png");
        ADD_TITLE_NAMEITEM(@"历史保单列表");
        self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bg640X773_01@2x"]];
    }
    else if([bgimage isEqualToString:@"重大节日皮肤"])
    {
        NSData *dataImg_02=[[NSUserDefaults standardUserDefaults]objectForKey:SKIN_IMG_DATA_02];
        NSLog(@"-------找到%@",dataImg_02);
        NSData *dataImg_03=[[NSUserDefaults standardUserDefaults]objectForKey:SKIN_IMG_DATA_03];
        NSData *dataImg_04=[[NSUserDefaults standardUserDefaults]objectForKey:SKIN_IMG_DATA_04];
        
        NSURL *urlSkinImg_02=[NSURL URLWithString:[[NSUserDefaults standardUserDefaults]objectForKey:SKIN_IMG_URL_02]];
        NSURL *urlSkinImg_03=[NSURL URLWithString:[[NSUserDefaults standardUserDefaults]objectForKey:SKIN_IMG_URL_03]];
        NSURL *urlSkinImg_04=[NSURL URLWithString:[[NSUserDefaults standardUserDefaults]objectForKey:SKIN_IMG_URL_04]];
        NSLog(@"-------找到333%@",urlSkinImg_02);
        
        UIImageView * LogoImage = [[UIImageView alloc]init];
        [LogoImage setImageWithURL:urlSkinImg_03 success:^(UIImage *image)
         {
             NSData *imgData=UIImagePNGRepresentation(LogoImage.image);
             [[NSUserDefaults standardUserDefaults] setObject:imgData forKey:SKIN_IMG_DATA_03];
         } failure:^(NSError *error)
         {
             [self justShowMessage:@"更新皮肤失败!" title:@"提示"];
         }];
        
        LogoImage.image = [UIImage imageWithData:dataImg_03];
        LogoImage.frame = CGRectMake(0, 0, LogoImage.image.size.width/2, LogoImage.image.size.height/2);
        [self.view addSubview:LogoImage];
        
        //--------------------------
        UIButton * CallOutBtn1 = [UIButton buttonWithType:UIButtonTypeCustom];
        CallOutBtn1.frame = CGRectMake(10, 10, 109/2, 57/2);
        UIImageView * Back = [[UIImageView alloc]init];
        [Back setImageWithURL:urlSkinImg_02 success:^(UIImage *image)
         {
             NSData *imgData=UIImagePNGRepresentation(Back.image);
             [[NSUserDefaults standardUserDefaults] setObject:imgData forKey:SKIN_IMG_DATA_02];
         } failure:^(NSError *error)
         {
             [self justShowMessage:@"更新皮肤失败!" title:@"提示"];
         }];
        
        [Back setImage:[UIImage imageWithData:dataImg_02]];
        [CallOutBtn1 setImage:Back.image forState:UIControlStateNormal];
        [CallOutBtn1 addTarget:self action:@selector(ClickCallOutBtn) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:CallOutBtn1];
        //--------------------------
        
        ADD_TITLE_NAMEITEM(@"历史保单列表");
        
        
        UIImageView *bgimage = [[UIImageView alloc]initWithFrame:CGRectMake(0,44, self.view.frame.size.width, self.view.frame.size.height-44)];
        [bgimage setImageWithURL:urlSkinImg_04 success:^(UIImage *image)
         {
             NSData *imgData=UIImagePNGRepresentation(bgimage.image);
             [[NSUserDefaults standardUserDefaults] setObject:imgData forKey:SKIN_IMG_DATA_04];
         } failure:^(NSError *error)
         {
             [self justShowMessage:@"更新皮肤失败!" title:@"提示"];
         }];
        
        [bgimage setImage:[UIImage imageWithData:dataImg_04]];
        [self.view addSubview:bgimage];
        [bgimage release];
    }


    
    HistroyInsurancePolicyList = [[UITableView alloc]initWithFrame:CGRectMake(0, 44, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStyleGrouped];
    HistroyInsurancePolicyList.dataSource = self;
    HistroyInsurancePolicyList.delegate = self;
    HistroyInsurancePolicyList.opaque = NO;
    HistroyInsurancePolicyList.backgroundView = nil;
    HistroyInsurancePolicyList.autoresizingMask = UIViewContentModeTop;
    HistroyInsurancePolicyList.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
    [self.view addSubview:HistroyInsurancePolicyList];
    
    //初始化数组
    arrInsuranceTypeOne=[[NSMutableArray alloc]initWithObjects:@"交强险",@"交强险",@"交强险",nil];
    arrInsuranceTypeTwo=[[NSMutableArray alloc]initWithObjects:@"商业险",@"商业险",@"商业险",nil];
    arrInsuranceStartDate=[[NSMutableArray alloc]initWithObjects:@"2013-03-14",@"2013-03-15",@"2013-03-16", nil];
    arrInsuranceEndDate=[[NSMutableArray alloc]initWithObjects:@"2014-03-14",@"2014-03-15",@"2014-03-16", nil];
    
    [self setInsPolicyHistroyListRequest];
}

-(void) ClickCallOutBtn
{
    [self.navigationController popViewControllerAnimated:YES];
}

#pragma UITableViewDelegate

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [arrInsPolicyHistroyList count];
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 50;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
        static NSString * kCellID = @"cellID";
        
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellID];
        if (cell == nil)
        {
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellID] autorelease];
            cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
            
            //设置选中某行的风格颜色
            cell.selectionStyle = UITableViewCellEditingStyleNone;
            
            cell.backgroundColor = [UIColor colorWithRed:239.0f/255.0f green:239.0f/255.0f blue:239.0f/255.0f alpha:1.0f];
            
            UIView *view = [[UIView alloc] initWithFrame:cell.frame];
            
            dicInsPolicyHistroyList = [arrInsPolicyHistroyList objectAtIndex:indexPath.row];
            
            NSString *productname = [[NSString alloc] initWithFormat:@"%@",[dicInsPolicyHistroyList objectForKey:@"productname"]];
            
            NSString *StartDate = [[NSString alloc] initWithFormat:@"%@",[dicInsPolicyHistroyList objectForKey:@"startdate"]];
            
            NSString *EndDate = [[NSString alloc] initWithFormat:@"%@",[dicInsPolicyHistroyList objectForKey:@"enddate"]];
            
            //字符串截断
            StartDate =[StartDate substringWithRange:NSMakeRange(0,10)];
            EndDate =[EndDate substringWithRange:NSMakeRange(0,10)];
            
            UILabel *labelType= [[UILabel alloc] init];
            [labelType setText:productname];
            [labelType setFrame:CGRectMake(20, 4.5, 250, 30)];
            [labelType setFont:[UIFont systemFontOfSize:14.0]];
            [labelType setBackgroundColor:[UIColor clearColor]];
            
            UILabel *labelTitle= [[UILabel alloc] init];
            [labelTitle setText:StartDate];
            [labelTitle setFrame:CGRectMake(20, 20.5, 120, 30)];
            [labelTitle setFont:[UIFont systemFontOfSize:14.0]];
            [labelTitle setBackgroundColor:[UIColor clearColor]];
            
            UILabel *labelContent = [[UILabel alloc] init];
            NSString * EndDateTime = [NSString stringWithFormat:@"至 %@",EndDate];
            [labelContent setText:EndDateTime];
            [labelContent setFrame:CGRectMake(105,20.5, 140, 30)];
            [labelContent setFont:[UIFont systemFontOfSize:14.0]];
            [labelContent setBackgroundColor:[UIColor clearColor]];
            
            [view addSubview:labelType];
            [view addSubview:labelTitle];
            [view addSubview:labelContent];
            
            [labelType release];
            [labelTitle release];
            [labelContent release];
            
            [cell addSubview:view];
            [view release];
        }
        return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    InsurancePolicyDetailViewController *insdetail = [[InsurancePolicyDetailViewController alloc]init];
    NSMutableDictionary *dictItem=[arrInsPolicyHistroyList objectAtIndex:indexPath.row];
    insdetail.strPolicyNo=[dictItem valueForKey:@"policyno"];
    [[AppDelegate app].unc pushViewController:insdetail animated:YES];
    [insdetail release];
}

-(void)setInsPolicyHistroyListRequest//向太保移动平台发送历史保单列表请求报文
{
    NSLog(@"userinfodefault%@",[[NSUserDefaults standardUserDefaults] objectForKey:DICT_USER_INFO]);
    NSDictionary *dictUserInfo=[[NSUserDefaults standardUserDefaults] dictionaryForKey:DICT_USER_INFO];
    if (dictUserInfo!=nil) 
    {
        if ([dictUserInfo valueForKey:@"UserAccount"]) {
            NSLog(@"%@",[dictUserInfo valueForKey:@"UserAccount"]);
        }
    }
    else
    {
        [self justShowMessage:@"用户还没登录,请登录系统" title:@"注意"];
        return;
    }
    
    NSUserDefaults *myDefaultsCarInfo=[NSUserDefaults standardUserDefaults];
    NSDictionary *dictCarInfo=[myDefaultsCarInfo dictionaryForKey:DICT_CAR_CUSTOMERINFO];
    if (dictCarInfo!=nil)
    {
        if ([dictCarInfo valueForKey:@"license"])
        {
            NSString *strLincense=[dictCarInfo valueForKey:@"license"];
            if ([strLincense isEqualToString:@""]) {
                [self justShowMessage:@"车牌号码为空,请到车辆设置页面去补充" title:@"注意"];
                return;
            }
        }else{
            [self justShowMessage:@"车牌号码为空,请到车辆设置页面去补充" title:@"注意"];
            return;
        }
        if ([dictCarInfo valueForKey:@"iDNum"]) {
            NSString *strIDNum=[dictCarInfo valueForKey:@"iDNum"];
            if ([strIDNum isEqualToString:@""]) {
                [self justShowMessage:@"证件号码号码为空,请到车辆设置页面去补充" title:@"注意"];
                return;
            }
        }else
        {
            [self justShowMessage:@"证件号码为空,请到车辆设置页面去补充" title:@"注意"];
            return;
        }
        if ([dictCarInfo valueForKey:@"policyHolder"]) {
            NSString *strPolicyHolder=[dictCarInfo valueForKey:@"policyHolder"];
            if ([strPolicyHolder isEqualToString:@""]) {
                [self justShowMessage:@"投保人为空,请到车辆设置页面去补充" title:@"注意"];
                return;
            }
        }else
        {
            [self justShowMessage:@"投保人为空,请到车辆设置页面去补充" title:@"注意"];
            return;
        }
    }
    else
    {
        [self justShowMessage:@"资料不完整,请到车辆设置页面去补充" title:@"注意"];
        return;
    }
    
    WSqlite *sql =[WSqlite Instance];
    NSLog(@"查的车辆是:%@",[dictCarInfo valueForKey:@"license"]);
    arrInsPolicyHistroyList=[sql getPolictData:[dictUserInfo valueForKey:@"UserAccount"] withTag:@"0" withPlateNo:[dictCarInfo valueForKey:@"license"]];
    if ([arrInsPolicyHistroyList count]>0) {
        [HistroyInsurancePolicyList reloadData];
    }
    
    NSString * useraccount = [dictUserInfo valueForKey:@"UserAccount"];
    NSString *strRequestData=[NSString stringWithFormat:@"{\"userAccount\":\"%@\",\"UserName\":\"%@\",\"certificateno\":\"%@\",\"PlateNo\":\"%@\"}",useraccount,[dictCarInfo valueForKey:@"policyHolder"],[dictCarInfo valueForKey:@"iDNum"],[dictCarInfo valueForKey:@"license"]];
    ASIFormDataRequest *request = [[ASIFormDataRequest alloc] initWithURL:[NSURL URLWithString:Server_Url_Form]];
    //设置需要POST的数据，这里提交两个数据，A=a&B=b
    [request setPostValue:@"40201" forKey:@"RequestCode"];
    [request setPostValue:strRequestData forKey:@"RequestData"];
    
    [request setDelegate:self];
    [request setDidFailSelector:@selector(ResponseFail:)];
    [request setDidFinishSelector:@selector(ResonseSuccess:)];
    [request startAsynchronous];
    
    showProgress = YES;
    if (showProgress)
    {
        progress= [[MBProgressHUD alloc]initWithView:self.view];
        [self.view addSubview:progress];
        [self.view bringSubviewToFront:progress];
        progress.labelText = @"加载中...";
        [progress show:YES];
        showProgress = NO;
    }
}

- (void)ResonseSuccess:(ASIHTTPRequest *)request
{
    if (!showProgress)
    {
        [progress removeFromSuperview];
        progress = nil;
    }
    
    NSString *responseString = [request responseString];
    NSLog(@"responseString %@",responseString);
    NSMutableDictionary *dictResponse=[responseString JSONValue];
    NSLog(@"dictResponse  %@",dictResponse);
    NSMutableDictionary *dictopinion=[dictResponse objectForKey:@"historyPolicyList"];
    arrInsPolicyHistroyList=[dictopinion objectForKey:@"data"];
    
    NSUserDefaults *myDefaultsCarInfo=[NSUserDefaults standardUserDefaults];
    NSDictionary *dictCarInfo=[myDefaultsCarInfo dictionaryForKey:DICT_CAR_CUSTOMERINFO];
    NSDictionary *dictUserInfo=[[NSUserDefaults standardUserDefaults] dictionaryForKey:DICT_USER_INFO];
    if ([arrInsPolicyHistroyList count]>0) {
        
        WSqlite *sql =[WSqlite Instance];
        NSLog(@"插入的车辆为:%@",[dictCarInfo valueForKey:@"license"]);
        [sql insertPolicyData:arrInsPolicyHistroyList withUserAccount:[dictUserInfo valueForKey:@"UserAccount"] withTag:@"0" withPlateNo:[dictCarInfo valueForKey:@"license"] withCertificateno:[dictCarInfo valueForKey:@"iDNum"]];
    }
    
    [HistroyInsurancePolicyList reloadData];
}

- (void)ResponseFail:(ASIHTTPRequest *)request
{
    if (!showProgress)
    {
        [progress removeFromSuperview];
        progress = nil;
    }
    
    NSLog(@"服务器连接失败!");
    [self justShowMessage:@"服务器连接失败！" title:@"提示"];
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    [HistroyInsurancePolicyList release];
    [arrInsuranceTypeOne release];
    [arrInsuranceEndDate release];
    [arrInsuranceStartDate release];
    [arrInsuranceTypeTwo release];
    [progress release];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

@end
